#ifndef CHARACTERCLASS_H
#define CHARACTERCLASS_H


#include "d20_global.h"
#include "defines.h"
#include "Skill.h"
#include "Special.h"

#include <ValueItem.h>




class D20SHARED_EXPORT CharacterClass : public ValueItem
{
    Q_OBJECT

public:

    Q_INVOKABLE CharacterClass(AbstractItem *parent = 0);
    Q_INVOKABLE CharacterClass(const QString& name, AbstractItem *parent = 0);
    CharacterClass(const CharacterClass& other);

    void setHitDie(Die* die);
    void setClassSkill(Skill* skill);
    void setSpecialAbility(Special* special);

    // creates new items to campaign and adds reference
    void createSpecialAbility();

};


Q_DECLARE_METATYPE(CharacterClass*)


#endif // CHARACTERCLASS_H
